#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QFileSystemModel>
#include <QDir>
#include <QFileSystemWatcher> // 添加文件系统监视头文件

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_treeView1_clicked(const QModelIndex &index);
    void on_treeView2_clicked(const QModelIndex &index);
    void on_toolButton1_clicked();
    void on_toolButton2_clicked();
    
    // 添加目录变化监视槽函数
    void onDirectoryChanged(const QString &path);

private:
    Ui::MainWindow *ui;
    QFileSystemModel *model1;
    QFileSystemModel *model2;
    QString currentDir1;
    QString currentDir2;
    
    // 添加文件系统监视器
    QFileSystemWatcher *watcher;

    // 文件比较函数
    QString compareFiles(const QString &file1, const QString &file2);
    void updateStatus(const QString &message);
    
    // 配置文件读写函数
    void readConfig();
    void writeConfig();
    
    // 目录监视函数
    void setupDirectoryWatcher();
    void updateDirectoryWatch();
};

#endif // MAINWINDOW_H